package com.mc.test.dao;

import java.io.Serializable;
import java.util.List;

public interface IGenericDAO<T, ID extends Serializable> {
 
	T findById(ID id);

	List<T> findAll();

	void create(final T entity);

	void update(final T entity);

	void delete(final T entity);

	void deleteById(ID id);
	
	/* TODO  Some points to improvise
	 * 1. add exceptions
	 * 2. add merge, lock, flush, evict and saveOrupdate if required
	 *  and More to Come
	 */
	 
}
